Configuration = 
{
    //
    // Loads the supplied file synchronously and returns it as an object
    //
    load: function(url)
    {
        if (undefined == url || null == url)
            throw "Null argument. The url argument is required.";
        
        var result = null;
        
        var request = new Request( 
            { 
                async       : false,
                method      : "get",
                url         : url,
                onSuccess   : function(responseText, responseXml) 
                {
                    result = responseText;
                },
                onFailure   : function(instance) 
                {
                    // [!] May fail with 304 (Not Modified)
                    throw "Request failed (" + instance.status + "): " + 
                        "Unable to load from file: " + url;
                }
            }
        )
        
        // todo: fix
        request.setHeader("If-Modified-Since", "Wed, 17 Sep 2008 19:43:31 GMT");
        
        request.send();
        
        return JSON.decode(result);
    }
}